/**
 * 
 */
package projeto.administrativo.colaboradorexterno.cdp;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;

import nucleo.comuns.util.UtilitarioSerializacao;
import plataforma.base.cdp.IObjetoComListaArquivo;
import projeto.administrativo.funcionario.cdp.ResponsavelAtividade;

/**
 * @author mike
 * 
 */
@Entity
@DiscriminatorValue("2")
public class ColaboradorExterno extends ResponsavelAtividade implements IObjetoComListaArquivo{

	/**
	 * 
	 */
	private static final long serialVersionUID = UtilitarioSerializacao.getIDSerializacao();
	private String descricao;

	private Set<Contato> contatos = new HashSet<Contato>();	
	private Set<Informacao> informacoes= new HashSet<Informacao>();

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	@OrderBy("data")
	public Set<Informacao> getInformacoes() {
		return informacoes;
	}

	
	public void setInformacoes(Set<Informacao> informacoes) {
		this.informacoes = informacoes;
	}

	/**
	 * @return the descricao
	 */
	@Column(nullable=true)
	public String getDescricao() {
		return descricao;
	}

	/**
	 * @param descricao
	 *            the descricao to set
	 */
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}



	/**
	 * @return the contatos
	 */
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	public Set<Contato> getContatos() {
		return contatos;
	}

	/**
	 * @param contatos the contatos to set
	 */
	public void setContatos(Set<Contato> contatos) {
		this.contatos = contatos;
	}

	@Override
	public Set recuperarArquivos() {
		return getInformacoes();
	}

}
